package secondStage.part4.File;

import java.util.Scanner;

/**
 * @ClassName: [DiGuiDemo1]
 * @Description: 递归求阶乘
 * @Author: [黄劲松]
 * @CreateDate: [2021-04-04]
 * @Version: [v1.0]
 */
/*
需求:
    用递归求s的阶乘，并把结果在控制台输出
思路
    1:定义一个方法，用于递归求阶乘，参数为一个int类型的变量
    2:在方法内部判断该变量的值是否是1
        是:返回1
        不是:返回n*(n-1)!
    3:调用方法
    4:输出结果
 */
public class DiGuiDemo1 {
    public static void main(String[] args) {
        System.out.println("输入你需要求的阶乘：");
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int result = f(num);
        System.out.println(num+"的阶乘结果是："+result);

    }
    public static int f(int n){
        //在内部判断变量是否为1
        if (n==1){
            return 1;
        }else {
            return n*f(n-1);
        }
    }
}
